Software Leadership #2: Authority is an Illusion
March 3, 2013
The very notion of “authority” is 90% in your head. And it’s one that often holds back otherwise very capable people.
This is yet another one that I got entirely wrong early in my own career.
When starting a new job, it’s natural to be in what I call “understanding and assessment” mode. In fact, coming into a new job and telling everybody how they are doing things wrong is a recipe to not only get you off on the wrong foot, but also permanently poison your relationship with what would have been very important allies down the road. However, it’s critical to turn the corner at some point before it’s too late. The more experience you have, the less time it should take.
When I first came to Microsoft, I was suddenly surrounded by lots of smart people with momentum and energy on whatever it was that they were building. This led me to initially assume that these people knew what was going on. It led me to assume that, simply because some guy has the title of “Corporate Vice President” or “Distinguished Engineer”, they knew what was going on. In fact, in my first day on the job – and I will never forget this – I was in a design meeting where I had the “audacity” to tell another DE (Microsoft’s highest ranking technical position at the time) that I disagreed with what he was saying. I was polite about it, and to this day think I was right. However, I was pulled aside afterwards and told how stupid a move that was. And what’s worse, I actually listened for my first two years and went out of my way not to rock the boat too much. This was against my better judgment. I was still young, and had come from another job where I was confident and could safely question anything; but I made the silly mistake of thinking “well, maybe things are different around here.” I still wish I could get those two years back.
Allow me to let you in on a little secret. (Well, okay, it’s not really a secret, but if only I could go back and tell my younger self this. And I suppose it ought to be obvious.) These people don’t always know what is going on. It’s probably safe to assume that these people have been rewarded in their careers because, statistically speaking, they are right more often than they are wrong. But it’s still just statistics. And truthfully, if they are any good, they will like being questioned. They enjoy the technical debate. This is a critical aspect of a great team.
In fact, if they don’t enjoy the debate, you are likely in the wrong place. The person who told me I was being stupid was actually right. The organization I had joined punished, rather than rewarded, people who questioned people in positions of authority. As soon as I realized this, I got out. It’s a very personal preference, I suppose, but I personally prefer organizations that reward and promote people based on ability and direct impact. Sadly, in organizations where authority prevails, advancement is almost always based on who-likes-who, ass-kissing, and time-in-position. For folks looking for cozy jobs with guaranteed income, perhaps this is ideal; but you’re quite unlikely to grow rapidly, build amazing things, and change the world in such places.
The employees I love the most are those that ask tons of questions and aren’t afraid to tell me when I’m wrong. These people are inquisitive about everything, whether the topic is highly technical or pure business. By questioning my own views, and forcing me to articulate them, there is an overall strengthening of the culture. Not only do I benefit as a leader by having to methodically think through and defend my approach to problem solving, however those around me also benefit because (a) often they end up influencing the organization in big ways, and (b) even if my original stance survives, they understand the rationale behind certain decisions and can grow as a result. And it’s fun! – albeit passionately heated at times.
In fact, it’s painful for me to see the opposite. An employee who has been trained to blindly respect authority. I was an admittedly rebellious youngster, so I’ve always known that this trait is simply not in my nature. I often reflect on how lucky I am to have landed in software rather than the military. Even when making those mistakes early in my career, I knew in my heart that they were mistakes at the time. But I do know that some people feel comfortable with a hierarchy of authority. They like the structure, and questioning it simply isn’t an option. Sadly, some such people are beyond repair.
These days, I have to say that kids who grew up programming in their teens are the most fearless and rebellious. I have a dirty admission: I love hiring and mentoring and growing these individuals the most, because they have yet to be “trained” to respect authority. Once a vulnerable person early in their career has been brainwashed, it is an incredibly difficult thing to reverse. And so, as their career progresses, the longer these habits sit unaddressed, the less salvageable they become. Thankfully I caught it early on. I’ve managed plenty of folks who didn’t.
Now, you can’t be an asshole about it. And you can’t be arrogant. Software is all about people and collaboration, and all of this questioning must be done with a single goal in mind: to make the software, the organization, and/or its people better. Authority is there for a reason, which is that ultimately someone needs to run the business, make decisions, and have their butt on the line. Sometimes the simple reality is that a leader’s intuition is extremely good, and though data may be lacking to support the decision, you can trust it. It’s okay to agree to disagree, or sometimes admit that someone simply has a stronger background than you in a particular area and so maybe you aren’t in a position to fully understand why a certain decision was made. I have always tried to turn such occasions into learning opportunities. Jot down a few notes, and go read about it afterwards. I always jot down and research any term I hear that I’m not totally on top of, technical or business. It happens all the time.
In your next job interview, go out of your way to question a thing or two. If the person on the other end acts offended, either you asked in the wrong way (remember: respectful but inquisitive), or you shouldn’t take the job. If it’s a startup, read the business plan ahead of time and come prepared with some hard questions. If it’s a corporation, ask what is rewarded, find holes in the technical architecture, question areas of the engineering process that could be improved. I really do think this is one of the most important cultural traits of a well-run team. And I guarantee you’ll have way more fun on such a team, perhaps the most important cultural trait of all.